/**
 * <copyright>
 * </copyright>
 *
 * $Id$
 */
package iTrace.impl;

import iTrace.Artefact;
import iTrace.ITracePackage;
import iTrace.TraceLink;
import iTrace.iTraceModel;

import org.eclipse.emf.common.util.EList;

import org.eclipse.emf.ecore.EClass;

import org.eclipse.emf.internal.cdo.CDOObjectImpl;

/**
 * <!-- begin-user-doc -->
 * An implementation of the model object '<em><b>iTrace Model</b></em>'.
 * <!-- end-user-doc -->
 * <p>
 * The following features are implemented:
 * <ul>
 *   <li>{@link iTrace.impl.iTraceModelImpl#getITraceModelTraceLink <em>ITrace Model Trace Link</em>}</li>
 *   <li>{@link iTrace.impl.iTraceModelImpl#getITraceModelArtefact <em>ITrace Model Artefact</em>}</li>
 *   <li>{@link iTrace.impl.iTraceModelImpl#getName <em>Name</em>}</li>
 *   <li>{@link iTrace.impl.iTraceModelImpl#getVersion <em>Version</em>}</li>
 * </ul>
 * </p>
 *
 * @generated
 */
public class iTraceModelImpl extends CDOObjectImpl implements iTraceModel {
	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected iTraceModelImpl() {
		super();
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	protected EClass eStaticClass() {
		return ITracePackage.Literals.ITRACE_MODEL;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	protected int eStaticFeatureCount() {
		return 0;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@SuppressWarnings("unchecked")
	public EList<TraceLink> getITraceModelTraceLink() {
		return (EList<TraceLink>)eGet(ITracePackage.Literals.ITRACE_MODEL__ITRACE_MODEL_TRACE_LINK, true);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@SuppressWarnings("unchecked")
	public EList<Artefact> getITraceModelArtefact() {
		return (EList<Artefact>)eGet(ITracePackage.Literals.ITRACE_MODEL__ITRACE_MODEL_ARTEFACT, true);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public String getName() {
		return (String)eGet(ITracePackage.Literals.ITRACE_MODEL__NAME, true);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public void setName(String newName) {
		eSet(ITracePackage.Literals.ITRACE_MODEL__NAME, newName);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public int getVersion() {
		return (Integer)eGet(ITracePackage.Literals.ITRACE_MODEL__VERSION, true);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public void setVersion(int newVersion) {
		eSet(ITracePackage.Literals.ITRACE_MODEL__VERSION, newVersion);
	}

} //iTraceModelImpl
